angular.module('sigad').controller('documentoCtrl',function($scope,$http,$routeParams) {
	if($routeParams.codigoDocumento){
		carregarDadosDocumento($scope,$http,$routeParams.codigoDocumento);
		$scope.modoDeEdicao=true;
	}
	
	var registrationForm = $('#fomularioDocumento');
	$scope.isInvalid = function() {
		return !registrationForm.form('validate form');
	};
	$scope.salvar = function() {
		
		if(this.isInvalid()){
			alert('formulario invalido');
		}
		var codigoDocumento= undefined;
		if($scope.documento){
			codigoDocumento=$scope.documento.codigo;
		}
		
		var formData = {
				codigo: codigoDocumento,
				descricao : $('.ui.form').form('get field','descricao_documento').val(),
				dataCriacao : $('.ui.form').form('get field','data_criacao').val(),
				periodoPermanencia : $('.ui.form').form('get field','periodo_permanencia').val(),
				localArmazenamento : $('.ui.form').form('get field','local_armazenamento').val(),
				tipo : $('.ui.form').form('get field', 'tipo').val(),
				//nomeArquivo:$('#fileToUpload')[0].files[0].name
			};
		if($scope.alterouRepresentacao){
			formData.nomeArquivo=$('#fileToUpload')[0].files[0].name
		}
		
		
		 $http.post('SalvarDocumento', formData).success(function(data) {
			 alert('resposta do servidor: '+data);
		})
	     	.error(function(data, status, headers, config) {
	     		alert('nao foi no servidor:'+ data + ' '+status);
	     });

	};
	
	var regrasDeValidacao = {
            descricao: {
                identifier: 'descricao_documento',
                rules: [
                    {
                        type: 'empty',
                        prompt: 'O documento precisa ter um descrição'
                    }
                ]
            },
            dataCriacao: {
                identifier: 'data_criacao',
                rules: [
                    {
                        type: 'empty',
                        prompt: 'O documento precisa ter uma data de criação'
                    }
                ]
            },
            periodoPermanencia: {
                identifier: 'periodo_permanencia',
                rules: [
                    {
                        type: 'empty',
                        prompt: 'O documento precisa ter um periodo de permanência'
                    }
                ]
            },
            localArmazenamento: {
                identifier: 'local_armazenamento',
                rules: [
                    {
                        type: 'empty',
                        prompt: 'O documento precisa ter um local para o armazenamento'
                    }
                ]
            },
            tipo: {
                identifier: 'tipo',
                rules: [
                    {
                        type: 'empty',
                        prompt: 'O documento precisa ter um tipo'
                    }
                ]
            }

        };

        $('#fomularioDocumento')
            .form(regrasDeValidacao, {
                inline: true,
                on: 'blur'
            });
        
       // $('#data_criacao').mask('00/00/0000'); //desativado pois o campo nao carregar os valores quando é uma edicao
        
       // $('#periodo_permanencia').mask('000'); //desativado pois o campo nao carregar os valores quando é uma edicao
        	

});

var carregarDadosDocumento = function(scope,http,codigoDocumento){
	var dado={codigo:codigoDocumento};
	 http.post('CarregarDocumento', dado).success(function(data) {
		 scope.documento=data;
		 scope.documento.exemplo={teste:'teste'};
	}).error(function(data, status, headers, config) {
     		alert(':(');
     });

};

